#ifndef WAYPOINTDBSQLITE3_H_
#define WAYPOINTDBSQLITE3_H_

#include "WaypointDB.h"

#include "db/sqlite3/sqlite3.h"

#include <iostream>
using std::cout;
using std::endl;

#include <vector>
using std::vector;

/*
 * This is a class that inherits from WaypointDB and provides SQLite3 db functionality
 */
class WaypointDBSQLite3: public WaypointDB
{
public:
	WaypointDBSQLite3();
	virtual ~WaypointDBSQLite3();

	virtual bool openDB(string dbName);
	virtual bool initializeDB(string dbName);
	virtual void addRow(const Waypoint& wayPoint);
	virtual void closeDB(void);
	virtual int getAllRows(vector<string>& cols, vector<string>& rows);

private:

	bool createTables(void);
	int executeSQL(const string& sql);

private:

	sqlite3* wpDB;
};

#endif /* WAYPOINTDBSQLITE3_H_ */
